Embedded devices are everywhere today, in homes, workplaces, malls, and so forth. Embedded devices include everything from set-top boxes for cable service, to game consoles, refrigerators, hospital equipment, power monitoring devices, retail kiosks, information booths, and so forth. Embedded devices typically include similar components to desktop computers: a central processing unit (CPU), memory, storage devices, sometimes a graphics-processing unit (GPU), and peripherals specific to the device's purpose. For example, a digital video recording (DVR) set top box may include a tuner peripheral, while a hospital x-ray machine may include an x-ray capturing peripheral.
Embedded devices are powerful, but often limited in purpose. The embedded device manufacturer often makes a number of tradeoffs to reduce the cost of goods (COGs) and bill of materials (BOMs) used to build the device. Updating embedded devices may involve flashing firmware, a task that many users are not comfortable doing. Thus, embedded devices are often sold once for a single purpose and if a manufacturer wants to enable new functionality or faster processing, then the manufacturer often attempts to sell the user a replacement embedded device that is a newer version.
Embedded devices create a lot of waste as users often get rid of the device when it no longer servers its specific purpose. For example, a DVR may be replaced with a new DVR with more storage capacity, or a hospital may replace an ultrasound machine with one that includes a color printer or three-dimensional imaging. If errors are found in embedded devices, it is time consuming and difficult to identify all of the instances with the problem and provide firmware updates to fix the errors. Thus, management and control of embedded devices is often a problem. In addition, configuration and installation of some devices may be beyond the level of skill of ordinary users, such that expensive technician time is involved in the initial setup of the device.